{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "c1dea9a3-69fb-4811-92ce-e99ba7d9c480",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "随机森林模型的预测准确率： 0.94\n"
     ]
    }
   ],
   "source": [
    "from sklearn.datasets import load_iris\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.metrics import accuracy_score\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.colors import ListedColormap\n",
    "import numpy as np\n",
    "#拆分数据集\n",
    "x,y=load_iris().data[:,2:4],load_iris().target   \n",
    "x_train,x_test,y_train,y_test=train_test_split(x,y, random_state=0,test_size=50)\n",
    "#训练模型\n",
    "model=RandomForestClassifier(n_estimators=10,random_state=0)\n",
    "model.fit(x_train,y_train)\n",
    "#评估模型\n",
    "pred=model.predict(x_test)\n",
    "ac=accuracy_score(y_test,pred)\n",
    "print(\"随机森林模型的预测准确率：\",ac)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "9a749b67-8e20-45b4-b547-d233ad66ce07",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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mKefffyCGud/p6LkS/TVtfdqz4DJDeb2VYPo5YWwYDMMN1Ni1uCSSy7RsGHDXEEnNjZWzZs31yWXXKLWrVsrLS1NcXFxevPNN3XzzTcrMrLh9PJ0OBxKSkqSffp0JvoDUD+V/aDOb5lgs1X8VL7rrqqhxdvxPtZ08tUP1Ozb7WpklLtWl9sa6Yc2VzaYB5APHZIefrjucQ8/LLVtG9haEBqKihwaNy5JdrtdiYmJHm/n1WviU6dOVZs2bZSSkqKWLVsqNjZW33//vf7973/rgQce0EUXXaRf/epXio+Pb1DhBgD8qpZ+UDpxouL7+oz3sabzw40kNTLK6VGFsORVCpkyZUqt3zscDr3yyivavXu3brzxxnoVBgANVi39oGQYFd+f+4aTt+N9rOn8cFOpskfVzptn1u8YQAjx62WWxMRETZw40Z+7BICGp5Z+UDV+7+14X9CjCqjCq1tUTz/9tGbPnq3vvnP/F2XUqFF6++2361sXADRctfSDqvF7b8f7gh5VQBVeBZy5c+fq66+/ltPpdDvmnnvu4SoOAGurpR+UbLaK7+sz3seaym01/yedHlUIR17dooqPj9fLL7+sfv36acmSJWrZsqUmTpyo+Ph4GYahPn366MYbb1RhYWGg6gUA82VkSHv3un8rKiOjfuN9rOmHA3Y1+3a7bEa5bKq4cmP8+BYVPaoQbry6glNp7969iouLkyQtX75cMTExio2NVeyPr19XzokDAJZUSz+oGl/59na8jzV9kLleO4Y+rDNNW6vc1khnmrbWjqEPN5hXxKUG0MsLYcOreXA6duyoe+65R7Nnz9add94pSVq/fr127typTz75RJJUUFCg2267rcFdxWEeHABW94+2D5ldgkeYyRje8HUeHI9vUb3//vsqKipSu3btFBUVpa5du8owDK1fv16S9Oijj+r777+XzWbT+PHjvT8DAEBYILwgGDy6gvPPf/5T48aNU1xcnL7//nulpqbq4MGDkqTLL79c6enpuvTSS3X33XcrJSXF44OfOnVKV199tbKystTWgykrBw8erFWrVrmWb7jhBn344YceHYsrOACs4OtTzVTgjK62/lt7olYnjVRMjHTBBdW346oIQlVAr+AMGjRI/fr10y9+8QstWrRI+fn5evTRRyVV9KdKT0/Xhg0bdPnll2vmzJm6//7769znyZMnNXjwYB06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7TadO3d2LScmJurYsWNuj+F0OuV0Ol3LdrtdklR0+kx9ywcAAEFS+XPbk2d1z2VKwImMjFRMTEyVdbGxsTpz5ozbgHP+NpXj3Zk9e7YeeeSRauvHDv21j1UDAACznDp1SklJSR6PNyXgNGvWTLt3766yrqCgQNHR0bVuk5ub6/H4zMxMTZkyxbVcXl6uw4cP68orr9SRI0eUmJhYjzMIHQ6HQykpKWF1zhLnzXmHB86b8w4Hdrtdbdq0UbNmzbzazpSAk56erhdffNG1fOjQITmdzlqLT09P17Jly1zL27dvV6tWrdyOj4mJqXaVqFGjikeOEhMTw+pfDik8z1nivMMN5x1eOO/wUvkz3OPxAaqjVr1795bdbtfixYslSU8++aT69u2riIgIORwOlZSUVNtmyJAh2rhxo7KyslRaWqo5c+ZowIABwS4dAACEANOewXnhhRc0atQoTZs2TWVlZVq/fr2kijeq5s+fr6FDh1bZpnnz5nr66ac1YMAAJSUlKT4+ntfEAQBAjUxrtjl06FB9/fXXys7OVq9evXThhRdKqrhd5c748ePVv39/5eTkqE+fPl5foouJidFDDz1U7daVlYXjOUucN+cdHjhvzjsc+HreNsPb964AAAAaOJptAgAAyyHgAAAAyyHgABZy6tQpffbZZzp58qTZpQCAqQg4Fnfq1CmlpqbW+vC21bzzzjtq166dIiMjdc011ygnJ8fskoJi+fLl6tChg373u9+pTZs2Wr58udklBd2NN96oRYsWmV1GUEyYMEE2m8316dChg9klBdX06dM1ePBgs8sIikWLFlX5Z135sfq/60uWLFGbNm3UpEkT9e3b1/ufY0YY2LVrl3H11VcbycnJxtSpU43y8nKzSwqK3NxcIyMjw5BkHDx40OxygmL//v1G06ZNjddee804ceKE8etf/9ro1auX2WUFXF5entG8eXNj165dhmEYxuLFi402bdqYXFVw/fOf/zQkGa+88orZpQRFz549jffee8/Iy8sz8vLyDIfDYXZJQbNr1y4jISHB2L9/v9mlBIXT6XT9c87LyzOOHDliNG/e3Pjmm2/MLi1g9u/fb6SkpBhbt241Dh8+bNx9991Gnz59vNqH5a/gOJ1ODR48WGlpacrOztaePXssn3orjRgxQiNGjDC7jKDKycnRE088oVtvvVUtWrTQuHHjlJ2dbXZZAVdQUKD58+era9eukqQrrrhCeXl5JlcVPD/88IPuv/9+/fznPze7lKAoLS3V7t271bt3byUnJys5OVkJCQlmlxUUhmFo7NixmjRpktq3b292OUERHR3t+uecnJysxYsXa9iwYWrXrp3ZpQXMtm3blJGRoe7du6tNmzYaM2aMvvrqK6/2YfmAs3r1atntds2dO1ft27fXE088ETYTBL7wwguaOHGi2WUE1aBBg3Tfffe5lvft2xcWl+5TUlI0evRoSVJJSYnmzJmjYcOGmVxV8Nx///265ZZblJGRYXYpQbFz504ZhqErr7xSjRs31o033qhvv/3W7LKC4u9//7u2b9+u1NRUrVq1qsaZ763s7NmzeuaZZ5SZmWl2KQHVuXNnrVu3Ttu2bZPdbtdf//pX9evXz6t9WD7g7NixQxkZGYqLi5NUMVPynj17TK4qOKyc7j1RXFysOXPmaPz48WaXEjQ7duxQixYttGbNGs2fP9/scoIiKytLH330kZ566imzSwmanJwcdenSRcuWLdOePXsUFRWlsWPHml1WwBUWFmrGjBnq2LGjjh49qrlz56p37946e/as2aUFzauvvqqMjAy1bdvW7FICqnPnzho+fLi6d++u5ORkbdmyRXPmzPFqH5YPOA6HQ6mpqa5lm82miIiIsLp8H65mzJihJk2a6N577zW7lKDp1q2bPvroI3Xp0kVjxowxu5yAO3v2rMaOHasFCxaEVfPB0aNHa/PmzUpPT1dqaqqee+45rVmzRg6Hw+zSAmrlypU6ffq01q1bp5kzZ2rNmjXKz8939TUMBwsXLqxyldqqNm/erHfffVdbtmxRQUGBRo4cqYEDB8rwYm5iywecyMjIatM7x8bG6syZMyZVhGBYu3atFi5cqFdffVVRUVFmlxM0NptNV111lRYtWqR33nnH8kH+z3/+s9LT03XTTTeZXYqpkpOTVV5eruPHj5tdSkAdPXpU11xzjZo1ayap4r/v3bp108GDB02uLDj279+v/fv3q2/fvmaXEnCvvfaaRowYoR49eqhJkyZ67LHHdODAAe3YscPjfVg+4DRr1ky5ublV1hUUFCg6OtqkihBoBw4c0OjRo7VgwQJ17tzZ7HKCYt26dZo2bZprOTKyos1co0bW/iv+6quv6p133nE9fPnqq69q/Pjxlr8tOWXKFK1YscK1/MUXX6hR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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x1,x2=np.meshgrid(np.linspace(0,8,500),np.linspace(0,3,500))\n",
    "x_new=np.stack((x1.flat,x2.flat),axis=1)\n",
    "y_predict=model.predict(x_new)\n",
    "y_hat=y_predict.reshape(x1.shape)\n",
    "iris_cmap=ListedColormap([\"#ACC6C0\",\"#FF8080\",\"#A0A0FF\"])\n",
    "plt.pcolormesh(x1,x2,y_hat,cmap=iris_cmap)\n",
    "plt.scatter(x[y==0,0],x[y==0,1],s=30,c='g',marker='^')\n",
    "plt.scatter(x[y==1,0],x[y==1,1],s=30,c='r',marker='o')\n",
    "plt.scatter(x[y==2,0],x[y==2,1],s=30,c='b',marker='s')\n",
    "plt.rcParams['font.sans-serif']='Simhei'\n",
    "plt.xlabel('花瓣长度')\n",
    "plt.ylabel('花瓣宽度')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ef01eb99-2cf5-43f7-87bd-3b35cea3909d",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
